home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / A-Monthly Disks / (c)aaf.d64 / zs-sales record (.txt) < prev   
Commodore BASIC  |  2007-02-04  |  13KB  |  482 lines

  1. 1 REM  L C ZITNIK  11/20/84
  2. 2 A$="ABCDEFGHIJKLMNOPQ":A$=A$+A$+A$+A$+A$:A$=A$+A$+A$:GOTO10000
  3. 3 DATA160,2,177,45,153,137,0,200,192,6
  4. 4 DATA208,246,162,1,32,198,255
  5. 5 DATA32,228,255,201,13,240,11,164,142,145
  6. 6 DATA140,200,132,142,196,139,208,238,76,204,255
  7. 7 GET#8,ZL$:IFZL$=""THEN7
  8. 8 GET#8, Z$:IF Z$=""THEN8
  9. 9 IF Z$=CHR$(13)THENRETURN
  10. 10 ZL$=ZL$+Z$:GOTO8
  11. 13 PRINT CHR$(147):C=2:R=2:PRINT"  "+HH$+H1$:RETURN
  12. 14 PRINT:PRINT:PRINT" .TYPE 1ST 1-9 LETTERS OF A FILE ITEM."
  13. 18 PRINT:PRINT" .OR ADD[146] TO ADD A NEW SALES ITEM.
  14. 20 [153]:[153]" .OR ENDWAIT TO EXIT TO MENU.
  15. 22 RETURN
  16. 40 POKE211,C: POKE214,R: PRINT CHR$(145) CHR$(17)   ;: RETURN
  17. 50 REM
  18. 52 IF ABS(D0)>999999999 THEN O$="******* ": GOTO 90
  19. 54 O$=MID$(STR$(INT(D0)),2)
  20. 56 IF F$="0" THEN GOTO 82
  21. 58 IF F$="1" THEN GOTO 72
  22. 60 IF LEN(O$)=1 THEN O$=".0"+O$: GOTO 85
  23. 62 IF LEN(O$)=2 THEN O$="."+O$: GOTO 85
  24. 64 O$=LEFT$(O$,LEN(O$)-2)+ "." +RIGHT$(O$,2)
  25. 66 IF LEN(O$) > 6 THEN O$=LEFT$(O$,LEN(O$)-6)+"," + RIGHT$(O$,6)
  26. 68 IF LEN(O$)> 10 THEN O$=LEFT$(O$,LEN(O$)-10)+","+ RIGHT$(O$,10)
  27. 70 GOTO 85
  28. 72 IF LEN(O$)=1 THEN O$="." + O$: GOTO 86
  29. 74 O$=LEFT$(O$,LEN(O$)-1)+"." + RIGHT$(O$,1)
  30. 76 IF LEN(O$) > 5 THEN O$=LEFT$(O$,LEN(O$)-5)+"," + RIGHT$(O$,5)
  31. 78 IF LEN(O$) > 9 THEN O$=LEFT$(O$,LEN(O$)-9)+"," + RIGHT$(O$,9)
  32. 82 IF LEN(O$) > 3 THEN O$=LEFT$(O$,LEN(O$)-3)+"," + RIGHT$(O$,3)
  33. 84 IF LEN(O$) > 7 THEN O$=LEFT$(O$,LEN(O$)-7)+"," + RIGHT$(O$,7)
  34. 85 IF F$="$" THEN O$="$"+O$
  35. 86 FOR H=1 TO (L%-LEN(O$)): O$="[160]"+O$: NEXT
  36. 87 IF D0 >=0 THEN O$=O$+" "
  37. 88 IF D0<0 THEN O$=O$+"-"
  38. 90 RETURN
  39. 100 REM
  40. 110 GOSUB 40
  41. 120 PRINT CHR$(18);: FOR I=1TOLN%: PRINT " ";: NEXT
  42. 130 PRINT CHR$(146)  ;
  43. 140 GOSUB 40
  44. 150 DA$="": F%=0
  45. 160 FOR I=1 TO LN%
  46. 170 F%=F%+1
  47. 180 GET D$: IF D$="" THEN 180
  48. 182 IF D$=CHR$(20)THEN272
  49. 190 IF D$=CHR$(95) THEN I=LN%: GOTO 220
  50. 200 IF D$=CHR$(13) THEN I=LN%: GOTO 220
  51. 210 PRINT D$;: DA$=DA$+D$
  52. 220 NEXT
  53. 230 IF D$=CHR$(95) THEN GOTO  110
  54. 232 IF F%=LN% THEN IF D$=CHR$(13) THEN DA$=DA$+" "
  55. 240 IF F%=LN% THEN 260
  56. 250 FOR I=F% TO LN%: DA$=DA$+" ": NEXT
  57. 260 GOSUB 40
  58. 270 PRINT DA$;: RETURN
  59. 272 IF I=1THEN180
  60. 274 POKE214,R:POKE211,C+I-2:PRINTCHR$(145)CHR$(17)CHR$(18)" "CHR$(146);
  61. 276 POKE214,R:POKE211,C+I-2:PRINTCHR$(145)CHR$(17);:I=I-1
  62. 278 LE=LEN(DA$):DA$=LEFT$(DA$,LE-1):D$="":GOTO180
  63. 300 REM
  64. 302 M$="NON-NUMERIC DATA": SN=0
  65. 303 IF F$="D" THEN LN%=6
  66. 310 GOSUB 40
  67. 320 PRINT CHR$(18) ;: FOR I=1 TO LN%: PRINT " ";: NEXT
  68. 330 PRINT CHR$(146) "     ";
  69. 340 GOSUB 40
  70. 350 DA$=""
  71. 360 FOR I=1 TO LN%
  72. 380 GET D$: IF D$="" THEN 380
  73. 382 IF D$=CHR$(20)THEN510
  74. 390 IF D$=CHR$(95) THEN I=LN%: GOTO 430
  75. 400 IF D$=CHR$(13) THEN I=LN%: GOTO 430
  76. 405 IFD$=CHR$(45)ANDI<>1THENGOTO550
  77. 406 IFD$=CHR$(45)THENSN=1: GOTO420
  78. 410 IFD$<"0"ORD$>"9"THENGOTO550
  79. 420 PRINT D$;: DA$=DA$+D$
  80. 430 NEXT
  81. 440 IF D$=CHR$(95) THEN GOTO 310
  82. 445 IFSN=1THEND0=D0*-1
  83. 450 D0=VAL(DA$)
  84. 451 O$=DA$
  85. 455 IFF$="N"THEN FORH=1TO(LN%-LEN(O$)): O$=" "+O$: NEXT
  86. 460 IF F$="0" OR F$="1" OR F$="2" ORF$="$" THEN GOSUB 50: GOTO 500
  87. 500 GOSUB 40: PRINT O$;: RETURN
  88. 502 PRINTCHR$(145)CHR$(17)CHR$(18)CHR$(146);:GOTO380
  89. 510 IF I=1THEN380
  90. 512 POKE214,R:POKE211,C+I-2:PRINTCHR$(145)CHR$(17)CHR$(18)" "CHR$(146);
  91. 514 POKE214,R:POKE211,C+I-2:PRINTCHR$(145)CHR$(17);:I=I-1
  92. 516 LE=LEN(DA$):DA$=LEFT$(DA$,LE-1):D$="":GOTO380
  93. 550 IFRT$="A"THEN300
  94. 555 SW=0
  95. 560 IFD$=CHR$(136)THENRETURN
  96. 562 IFD$=CHR$(135)THENRETURN
  97. 564 IFD$=CHR$(133)THENRETURN
  98. 570 IFD$=CHR$(137)THENRETURN
  99. 600 GOTO300
  100. 800 IFLEN(O$)<8THENO$=" "+O$:GOTO800
  101. 801 RETURN
  102. 810 IFLEN(O$)<10THENO$=" "+O$:GOTO810
  103. 811 RETURN
  104. 1000 H1$=" ... SEARCH SCREEN
  105. 1001 [141]13:[141]14:C[178]12:R[178]12:[141]40:[153]"_ TYPE IN SALES ITEM."
  106. 1010 C[178]2:LN%[178]9:[141]100
  107. 1015 SL[178][195](DA$):[139][201](DA$,1)[178]" "[175]SL[179][177]1[167]DA$[178][200](DA$,SL[171]1):[137]1015
  108. 1020 [139]DA$[178]"ADD"[167]1600
  109. 1025 [139]DA$[178]"END"[167]2000
  110. 1030 [129]I[178]1[164]RC:[139]DA$[179][178][200](C$(I),SL)[167] H[178]I:H%[178]I:I[178]RC
  111. 1040 [130]I
  112. 1041 H1$[178]" ... POSTING SCREEN":[141]13
  113. 1042 [143]
  114. 1043 [141]12000
  115. 1051 R[178]4:C[178]1:[141]40
  116. 1052 [153]"ENTER QUANTITY, OR PRESS...."
  117. 1053 [153]"   F1  TO CHANGE THIS SALES ITEM."
  118. 1054 [153]"   F2  TO DISPLAY THIS ITEM FOR
  119. 1055 PRINT"       POSSIBLE DELETION.
  120. 1056 [153]"   F5  TO RETURN TO SEARCH SCREEN.
  121. 1057 PRINT"   F7  TO ADVANCE TO NEXT SALES ITEM.
  122. 1058 R[178]14:C[178]5:[141]40:[153] [200](C$(H),20)
  123. 1060 R[178]17:C[178]7:[141]40:[153]"QUANTITY   PRICE       AMOUNT"
  124. 1070 R[178]18:C[178]18:[141]40
  125. 1080 PR$[178][202](C$(H),23,4):PR[178]([197](PR$))[173]100
  126. 1090 [153][200](PR$,2);".";[201](PR$,2)
  127. 1100 [139][195](C$(H))[177]96[167]1400
  128. 1120 C[178]9:R[178]18:LN%[178]4:F$[178]"0":RT$[178]"Q":[141]     300
  129. 1121 [139]D$[178][199](136)[175]H%[178]200[167]1000
  130. 1122 [139]D$[178][199](136)[167]H[178]H[170]1:H%[178]H%[170]1:C[178]0:R[178]20:[141]40:[153]BS$:[153]BS$:C[178]5
  131. 1123 [139]D$[178][199](136)[167][137]1058
  132. 1124 [139]D$[178][199](135)[167]1000
  133. 1125 [139]D$[178][199](133)[167]2500
  134. 1126 [139]D$[178][199](137)[167]2300
  135. 1130 [139][195](DA$)[179]4[167]DA$[178]" "[170]DA$:[137]1130
  136. 1140 QU$[178]DA$
  137. 1220 [143] AMOUNT
  138. 1221 [141]12000:R[178]4:C[178]2:[141]40
  139. 1222 [153]"ENTER AMOUNT (NUMBERS ONLY. NO PERIOD)
  140. 1223 PRINT"  OR ......... FOR CALCULATED AMOUNT,
  141. 1224 [153]"               JUST PRESS RETURN.
  142. 1230 C=30:R=18:LN%=6:F$="2":RT$="A":GOSUB300
  143. 1231 IFLEN(DA$)>0THEN1240
  144. 1232 QU=VAL(QU$):PR=VAL(PR$):D0=QU*PR
  145. 1233 F$="2":L%=6:GOSUB50:DA$=STR$(D0)
  146. 1240 IFLEN(DA$)<7THENDA$=" "+DA$:GOTO1240
  147. 1350 C$(H%)=LEFT$(C$(H%),96)+QU$+RIGHT$(DA$,6)
  148. 1355 GOSUB810
  149. 1360 C=27:R=18:GOSUB40:PRINTO$+"    "
  150. 1365 FORI=1TO400:NEXTI:REM DELAY
  151. 1370 GOTO1000
  152. 1400 C=0:R=20:GOSUB40:PRINT"PREVIOUS"
  153. 1410 PRINT"POSTING: ";MID$(C$(H),97,4);"     ";MID$(C$(H),23,2);".";
  154. 1420 PRINTMID$(C$(H),25,2);"      ";
  155. 1430 PRINTMID$(C$(H),101,4);".";MID$(C$(H),105,2)+"  "
  156. 1440 R=18:GOTO1120
  157. 1600 REM ADD ROUTINE
  158. 1610 H1$=" ... ADD SCREEN":GOSUB13:C=1:R=8:GOSUB40:PRINT"    NAME"
  159. 1620 R=10:GOSUB40:PRINT"    CATEGORY"
  160. 1630 R=12:GOSUB40:PRINT"    "+U$
  161. 1640 R=14:GOSUB40:PRINT"    PRICE"
  162. 1645 C=2:R=21:GOSUB40
  163. 1646 PRINT"PRESS RETURN WITHOUT TYPING A NAME,
  164. 1647 [153]"  TO RETURN TO THE SEARCH SCREEN.
  165. 1650 C=16:R=8:LN%=20:GOSUB100
  166. 1660 AD$=DA$:IFDA$=LEFT$(BL$,20)THEN1000
  167. 1670 IFLEN(AD$)<20THENAD$=AD$+" ":GOTO1670
  168. 1675 C=2:FORR=21TO22:GOSUB40:PRINTLEFT$(BL$,37):NEXT:C=16
  169. 1680 R=10:LN%=1:GOSUB100
  170. 1700 AD$=AD$+DA$
  171. 1705 IFU$="     "THENAD$=AD$+" ":GOTO1720
  172. 1710 R=12:GOSUB100:AD$=AD$+DA$
  173. 1720 R=14:LN%=4:F$="2":GOSUB300
  174. 1730 DA=ABS(VAL(DA$)):DA$=STR$(DA)
  175. 1740 IFLEN(DA$)<4THENDA$=" "+DA$:GOTO1740
  176. 1750 AD$=AD$+RIGHT$(DA$,4)+BL$
  177. 1760 C=3:R=17:GOSUB40:PRINT"TYPE 1 TO ADD THE ABOVE RECORD"
  178. 1780 PRINT"   ..OR 9 TO CANCEL THIS ADD..."
  179. 1790 C=1:R=17:LN%=1:GOSUB100
  180. 1820 DA%=VAL(DA$)
  181. 1830 IFDA%=1THEN1850
  182. 1835 IFDA%=9THEN1600
  183. 1840 GOTO1790
  184. 1850 REM PUT ADD ON FILE
  185. 1860 IFRC=UTHEN1000
  186. 1870 RC=RC+1:I%=0
  187. 1880 FORI=1TORC-1
  188. 1890 IF LEFT$(AD$,20)<LEFT$(C$(I),20)THENI%=I:I=RC-1
  189. 1900 NEXT I:IFI%=0THEN1940
  190. 1910 FORI=RCTOI%+1 STEP-1:C$(I)=C$(I-1):NEXTI
  191. 1920 C$(I%)=AD$
  192. 1930 GOTO 1600
  193. 1940 C$(RC)=AD$:GOTO1600
  194. 2000 REM MENU
  195. 2010 PRINTCHR$(147):TQ=0:TA=0
  196. 2020 FORI=1TORC:IFLEN(C$(I))<97THEN2040
  197. 2030 TQ=TQ+VAL(MID$(C$(I),97,4)):TA=TA+VAL(MID$(C$(I),101,6))
  198. 2040 NEXTI:TQ$=STR$(TQ):TA$=STR$(TA)
  199. 2050 H1$=" ... MENU SCREEN
  200. 2051 [141]13:R[178]6:[141]40:[153]"TOTAL POSTING AMOUNT .... $ ";
  201. 2060 [153][200](TA$,[195](TA$)[171]2);".";[201](TA$,2)
  202. 2070 R[178] 9:[141]40:[153]"1. RETURN TO SEARCH SCREEN.
  203. 2080 R=11:GOSUB40:PRINT"2. PRINT SALES REPORT........."
  204. 2090 PRINT"     ADD POSTINGS TO THE FILE..."
  205. 2100 PRINT"     AND WRITE OUT THE NEW FILE.
  206. 2102 R[178]15:[141]40:[153]"3. DISPLAY SALES BY ITEM."
  207. 2104 R[178]17:[141]40:[153]"4. EXIT."
  208. 2110 R[178]20:C[178]5:[141]40:[153]"SELECT 1 THRU 4."
  209. 2120 C[178]2:LN%[178]1:[141]100
  210. 2130 [139]DA$[178]"1"[167]1000
  211. 2140 [139]DA$[178]"2"[167]2160
  212. 2150 [139]DA$[178]"3"[167]3000
  213. 2152 [139]DA$[178]"4"[167]19999
  214. 2154 [137]2120
  215. 2160 [141]4092:T7%[178]0:[129]I[178]1[164]RC
  216. 2165 [139][195](C$(I))[179]97[167]2240
  217. 2166 [137]4200
  218. 2170 T$[178][196]([197]([202](C$(I),87,4))[170][197]([202](C$(I),97,4)))
  219. 2180 [139][195](T$)[179]4[167]T$[178]" "[170]T$:[137]2180
  220. 2190 T$[178][201](T$,4)
  221. 2200 W$[178][196]([197]([202](C$(I),91,6))[170][197]([202](C$(I),101,6)))
  222. 2210 [139][195](W$)[179]6[167]W$[178]" "[170]W$:[137]2210
  223. 2220 W$[178][201](W$,6)
  224. 2230 C$(I)[178][200](C$(I),86)[170]T$[170]W$
  225. 2240 [130]I:[137]4400
  226. 2250 [143] W/O FILE
  227. 2251 [159]15,8,15:[152]15,"SCRATCH0:POST/SALES":[152]15,"VALIDATE":[160]15
  228. 2254 [159]2,8,2,"POST/SALES,S,W"
  229. 2255 RC$[178][196](RC)
  230. 2256 [139][195](RC$)[179]3[167]RC$[178]" "[170]RC$:[137]2256
  231. 2257 RC$[178][201](RC$,3)
  232. 2260 [152]2,RC$[170]"YR"[170]"MO"
  233. 2270 [129]I[178]1[164]RC:[152]2,C$(I):[130]I
  234. 2271 [160]2:[153][199](147):[153]""[170]"INSERT THE BACKUP DISKETTE ..."
  235. 2272 [153]" ... AND PRESS ANY KEY TO CONTINUE."
  236. 2273 [161]Q7$:[139]Q7$[178]""[167]2273
  237. 2276 [159]2,8,2,"@0:POST/SALES,S,W"
  238. 2277 [152]2,RC$[170]"YR"[170]"MO"
  239. 2278 [129]I[178]1[164]RC:[152]2,C$(I):[130]I
  240. 2279 [160]2
  241. 2280 [137]2000
  242. 2300 [143] DELETE
  243. 2310 H1$[178]" ... DELETE":[141]13:R[178]4:C[178]6:[141]40:[153]"... DELETE ROUTINE ..."
  244. 2320 C[178]5:R[178]8:[141]40:[153]"NAME       ";[200](C$(H%),20)
  245. 2330 [153]"     CATEGORY   ";[202](C$(H%),21,1)
  246. 2340 [153]"     "[170]U$[170]"      ";[202](C$(H%),22,1)
  247. 2350 [153]"     PRICE      ";[202](C$(H%),23,2);".";[202](C$(H%),25,2)
  248. 2355 L8[178]0
  249. 2360 [129]I[178]1985[164]1990:[153]"     ";I;"     ";[202](C$(H%),27[170]L8,4);"  ";
  250. 2370 [153][202](C$(H%),31[170]L8,4);".";[202](C$(H%),35[170]L8,2)
  251. 2380 L8[178]L8[170]10:[130]I
  252. 2390 [153]"      ";"MTD  ";"     ";[202](C$(H%),87,4);"  ";
  253. 2400 [153][202](C$(H%),91,4);".";[202](C$(H%),95,2)
  254. 2410 C[178]2:R[178]20:[141]40:[153]"PRESS D TO DELETE THIS ENTIRE ITEM !
  255. 2420 PRINT"  OR R TO RETURN TO SEARCH SCREEN.
  256. 2430 C[178]38:R[178]21:LN%[178]1:[141]100
  257. 2440 [139] DA$[179][177]"D"[167]1000
  258. 2450 [129]I[178]H%[170]1[164]RC:C$(I[171]1)[178]C$(I):[130]:RC[178]RC[171]1
  259. 2460 [137]1000
  260. 2500 [143] CHANGE
  261. 2510 H1$[178]" ... CHANGE":[141]13:R[178]4:C[178]6:[141]40:[153]"... CHANGE ROUTINE ..."
  262. 2520 C[178]2:R[178]8:[141]40:[153]"1. NAME       ";[200](C$(H%),20)
  263. 2530 [153]"  2. CATEGORY   ";[202](C$(H%),21,1)
  264. 2540 [153]"  3. "[170]U$[170]"      ";[202](C$(H%),22,1)
  265. 2550 [153]"  4. PRICE      ";[202](C$(H%),23,2);".";[202](C$(H%),25,2)
  266. 2560 R[178]14:[141]40:[153]"ENTER NUMBER OF FIELD"
  267. 2570 [153]"  TO BE CHANGED (1-4) OR 5 TO EXIT."
  268. 2580 C[178]2:R[178]16:LN%[178]1:[141]100
  269. 2590 [139]DA$[179]"1"[176]DA$[177]"5"[167]2580
  270. 2600 DA%[178][197](DA$):[139]DA%[178]5[167]1000
  271. 2602 [139]DA%[178]1[167]AD%[178]20:[137]2620
  272. 2604 [139]DA%[178]4[167]AD%[178]4:[137]2622
  273. 2606 AD%[178]1
  274. 2620 C[178]15:R[178]16:LN%[178]AD%:[141]100:[137]2630
  275. 2622 C[178]15:R[178]16:LN%[178]4:F$[178]"2":RT$[178]"A":[141]300
  276. 2630 [139][195](DA$)[179]AD%[167]DA$[178]" "[170]DA$:[137]2630
  277. 2640 [145]DA%[137]2650,2660,2670,2680
  278. 2650 AD$[178]DA$[170][201](C$(H%),[195](C$(H%))[171]20):[137]2700
  279. 2660 C$(H%)[178][200](C$(H%),20)[170]DA$[170][201](C$(H%),[195](C$(H%))[171]21):[137]2500
  280. 2670 C$(H%)[178][200](C$(H%),21)[170]DA$[170][201](C$(H%),[195](C$(H%))[171]22):[137]2500
  281. 2680 C$(H%)[178][200](C$(H%),22)[170]DA$[170][201](C$(H%),[195](C$(H%))[171]26):[137]2500
  282. 2700 [129]I[178]H%[170]1[164]RC:C$(I[171]1)[178]C$(I):[130]:RC[178]RC[171]1
  283. 2720 RC[178]RC[170]1:I%[178]0
  284. 2730 [129]I[178]1[164]RC[171]1
  285. 2740 [139] [200](AD$,20)[179][200](C$(I),20)[167]I%[178]I:I[178]RC[171]1
  286. 2750 [130] I:[139]I%[178]0[167]2790
  287. 2760 [129]I[178]RC[164]I%[170]1 [169][171]1:C$(I)[178]C$(I[171]1):[130]I
  288. 2770 C$(I%)[178]AD$:H%[178]I%
  289. 2780 [137]2500
  290. 2790 C$(RC)[178]AD$:H%[178]RC:[137]2500
  291. 3000 [143] OPTIONS
  292. 3010 H1$[178]" ... DISPLAY OPTIONS
  293. 3011 GOSUB13:C=8:R=8:GOSUB40:PRINT".... DISPLAY OPTIONS ...."
  294. 3020 C=7:R=11:GOSUB40:PRINT"ENTER (ALL)  OR  (9)TO EXIT"
  295. 3030 PRINT"       OR (A-Z) FOR ONE CATEGORY."
  296. 3032 C=1:R=11:LN%=3:GOSUB100:O1$=DA$
  297. 3034 IFVAL(DA$)= 9 THEN2000
  298. 3035 IFDA$="ALL"THEN3038
  299. 3036 DA$=LEFT$(DA$,1):O1$=LEFT$(O1$,1)
  300. 3037 IFDA$<"A"ORDA$>"Z"THEN3032
  301. 3038 C=7:R=15:GOSUB40
  302. 3040 PRINT"ENTER YEAR (1985 ETC.) OR (TOT)"
  303. 3050 PRINT"       FOR TOTAL  OR (MTD) OR (POST)."
  304. 3060 C=0:R=15:LN%=4:GOSUB100
  305. 3070 IFDA$="TOT "THENO%=9:HD$="TOTAL.":GOTO3115
  306. 3080 IFDA$="MTD "THENO%=7:HD$="MTD...":GOTO3115
  307. 3090 IFDA$="POST"THENO%=8:HD$="POSTED":GOTO3115
  308. 3095 HD$=DA$+"."
  309. 3100 IFVAL(DA$)<1985ORVAL(DA$)>1990THEN3060
  310. 3110 O%=VAL(DA$)-1984
  311. 3115 QT =0:AT =0:PL=2
  312. 3120 FORI=1TORC
  313. 3130 IFO1$="ALL"THEN3150
  314. 3135 O1$=LEFT$(O1$,1)
  315. 3140 IFMID$(C$(I),21,1)<>O1$THEN3420
  316. 3150 REM
  317. 3160 IFO%=9THEN3200
  318. 3165 IFO%=8ANDLEN(C$(I))<97THEN3420
  319. 3170 Q=VAL(MID$(C$(I),(27+(O%-1)*10),4))
  320. 3180 A=VAL(MID$(C$(I),(31+(O%-1)*10),6))
  321. 3190 GOTO3280
  322. 3200 Q =0:A =0
  323. 3210 IFLEN(C$(I))<97THEN3240
  324. 3220 Q=VAL(MID$(C$(I),97,4))
  325. 3230 A=VAL(MID$(C$(I),101,6))
  326. 3240 FORJ=1TO7
  327. 3250 Q=Q+VAL(MID$(C$(I),(27+(J-1)*10),4))
  328. 3260 A=A+VAL(MID$(C$(I),(31+(J-1)*10),6))
  329. 3270 NEXTJ
  330. 3280 REM SCREEN DISPLAY
  331. 3282 IFQ+A=0THEN3420
  332. 3285 QT=QT+Q:AT=AT+A
  333. 3290 IFPL<>2THEN3324
  334. 3295 PRINTCHR$(147);:PRINT"  ";HD$;"....SALES"
  335. 3300 IFLEN(O1$)<>3THENO1$=O1$+" ":GOTO3300
  336. 3310 PRINT"  ";O1$;" CATEGORY";
  337. 3320 PRINT"     QUANTITY     AMOUNT"
  338. 3324 D0=Q:LN%=5:F$="0":GOSUB50:Q$=O$
  339. 3325 IFLEN(Q$)<7THENQ$=" "+Q$:GOTO3325
  340. 3326 D0=A:LN%=9:F$="2":GOSUB50:A$=O$
  341. 3327 IFLEN(A$)<11THENA$=" "+A$:GOTO3327
  342. 3340 R=PL:C=0:GOSUB40:PRINTLEFT$(C$(I),20);" ";Q$;A$
  343. 3350 PL=PL+1:IFPL<>23THEN3420
  344. 3400 C=0:R=24:GOSUB40:PRINT"PRESS ANY KEY TO CONTINUE";:GETK$:IFK$=""THEN3400
  345. 3410 PRINTCHR$(147);:PL=2
  346. 3420 NEXTI
  347. 3430 C=0:R=23:GOSUB40:PRINT"REPORT TOTAL........";
  348. 3440 D0=QT:LN%=5:F$="0":GOSUB50:Q$=O$
  349. 3445 IFLEN(Q$)<7THENQ$=" "+Q$:GOTO3445
  350. 3450 D0=AT:LN%=9:F$="2":GOSUB50:A$=O$
  351. 3455 IFLEN(A$)<11THENA$=" "+A$:GOTO3455
  352. 3460 PRINT" ";Q$;A$
  353. 3470 PRINT"PRESS ANY KEY TO CONTINUE.";
  354. 3480 GETK$:IFK$=""THEN3480
  355. 3490 GOTO2000
  356. 4000 REM MONTH END ?
  357. 4010 H1$="  REPORT & SAVE FILE
  358. 4011 [141]13:C[178]0:R[178]10:[141]40:[153]"IS THIS THE END OF THE MONTH ? (Y/N)"
  359. 4020 C[178]37:LN%[178]1:[141]100
  360. 4030 [139]DA$[178]"N"[167]2250
  361. 4040 [139]DA$[178]"Y"[167]4060
  362. 4050 [137]4020
  363. 4060 C[178]0:R[178]13:[141]40:[153]"WHAT YEAR SHOULD"
  364. 4070 [153]" SALES BE POSTED TO ?"
  365. 4080 C[178]27:R[178]14:LN%[178]4:[141]100
  366. 4090 [139] [197](DA$)[179]1985[176][197](DA$)[177]1990[167]     4080
  367. 4091 [141]4092:[137]4100
  368. 4092 [153][199](147):[153]""[170]"PLEASE ADVANCE PAPER IN PRINTER ..."
  369. 4094 [153]" ... THEN PRESS ANY KEY TO CONTINUE."
  370. 4096 [161]L4$:[139]L4$[178]""[167]4096
  371. 4097 [142]
  372. 4100 O%[178]1991[171][197](DA$):T1[178]0:T2[178]0:T3[178]0:T4[178]0
  373. 4102 [159]4,4:[152]4,[200](BL$,24)[170]HH$[170]"- MONTH END"
  374. 4104 [152]4,[199](13);:[152]4,"                              TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO"
  375. 4105 [152]4,[199](13)
  376. 4106 [152]4,"                          ....THIS MONTH....  ...YEAR TO DATE..."
  377. 4107 [152]4,"                          QUANTITY    AMOUNT  QUANTITY    AMOUNT"
  378. 4108 [152]4,"                          TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(    TAB(TAB(TAB(TAB(TAB(TAB(  TAB(TAB(TAB(TAB(TAB(TAB(TAB(TAB(    TAB(TAB(TAB(TAB(TAB(TAB("
  379. 4110 [129]I[178]1[164]RC
  380. 4112 MQ[178][197]([202](C$(I),87,4))
  381. 4114 MA[178][197]([202](C$(I),91,6))
  382. 4122 [139] MQ[179][177]0[167]4600
  383. 4124 [139] MA[179][177]0[167]4600
  384. 4129 [137]4500
  385. 4130 Q$[178][196]([197]([202](C$(I),(87[171]O%[172]10),4))[170][197]([202](C$(I),87,4)))
  386. 4135 Q$[178][201](Q$,4)
  387. 4136 [139][195](Q$)[179]4[167]Q$[178]" "[170]Q$:[137]4136
  388. 4140 A$[178][196]([197]([202](C$(I),(91[171]O%[172]10),6))[170][197]([202](C$(I),91,6)))
  389. 4142 A$[178][201](A$,6)
  390. 4143 [139][195](A$)[179]6[167]A$[178]" "[170]A$:[137]4143
  391. 4145 C$(I)[178][200](C$(I),86)[170]"          "
  392. 4150 C$(I)[178][200](C$(I),86[171]O%[172]10)[170]Q$[170]A$[170][201](C$(I),O%[172]10)
  393. 4160 [130]I
  394. 4170 MQ[178]T1:MA[178]T2:YQ[178]T3:YA[178]T4:NM$[178]"              TOTALS":[141]4618
  395. 4180 [160]4
  396. 4199 [137]2250
  397. 4200 [143] PATCH - REPORTS
  398. 4210 [139]T7%[179][177]0[167]4300
  399. 4220 T7%[178]1:[159]4,4:TQ[178]0:TA[178]0
  400. 4230 [152]4,[200](BL$,20)[170]HH$
  401. 4240 [152]4,[199](13)
  402. 4250 [152]4,"                  DATE TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO"
  403. 4260 [152]4,[199](13)
  404. 4270 [152]4,"       DESCRIPTION OF THIS SALE TOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTOTO"
  405. 4280 [129]K[178]1[164]2:[152]4,[199](13):[130]K
  406. 4290 [152]4,"                                QUANTITY     AMOUNT"
  407. 4300 [152]4,"       "[170][200](C$(I),20);
  408. 4310 [152]4,"      ";
  409. 4311 F$[178]"0":LN%[178]6:D0[178][197]([202](C$(I),97,4)):[141]50
  410. 4312 [141]800
  411. 4313 [152]4,O$;
  412. 4320 TQ[178]TQ[170][197]([202](C$(I),97,4))
  413. 4330 TA[178]TA[170][197]([201](C$(I),6))
  414. 4340 D0[178][197]([201](C$(I),6)):F$[178]"2":LN%[178]6:[141]50
  415. 4350 [141]810
  416. 4360 [152]4," "[170]O$:[137]2170
  417. 4400 D0[178]TQ:F$[178]"0":LN%[178]6:[141]50
  418. 4405 [139]TQ[178]0[175]TA[178]0[167][160]4:[137]4000
  419. 4410 [141]800
  420. 4420 [152]4,"               TOTALS            "[170]O$;
  421. 4430 D0[178]TA:F$[178]"2":LN%[178]6:[141]50
  422. 4440 [141]810
  423. 4450 [152]4," "[170]O$
  424. 4460 [160]4:[137]4000
  425. 4500 YQ[178][197]([202](C$(I),(87[171]O%[172]10),4))
  426. 4510 YA[178][197]([202](C$(I),(91[171]O%[172]10),6))
  427. 4520 [139] YQ[179][177]0[167]4550
  428. 4530 [139] YA[179][177]0[167]4550
  429. 4540 [137]4160
  430. 4550 H6[178]0:[137]4610
  431. 4600 H6[178]1
  432. 4602 YQ[178][197]([202](C$(I),(87[171]O%[172]10),4))
  433. 4604 YA[178][197]([202](C$(I),(91[171]O%[172]10),6))
  434. 4610 YQ[178]YQ[170]MQ:YA[178]YA[170]MA:NM$[178][200](C$(I),20):[141]4618:[137]4825
  435. 4618 D0[178]MQ:F$[178]"0":LN%[178]6:[141]50
  436. 4620 [141]800
  437. 4625 MQ$[178]O$
  438. 4630 D0[178]MA:F$[178]"2":LN%[178]6:[141]50
  439. 4640 [141]810
  440. 4645 MA$[178]O$
  441. 4710 D0[178]YQ:F$[178]"0":LN%[178]6:[141]50
  442. 4720 [141]800
  443. 4725 YQ$[178]O$
  444. 4730 D0[178]YA:F$[178]"2":LN%[178]6:[141]50
  445. 4740 [141]810
  446. 4745 YA$[178]O$
  447. 4800 [152]4,"    "[170]NM$;
  448. 4810 [152]4,"  "[170]MQ$[170]MA$;
  449. 4820 [152]4,"  "[170]YQ$[170]YA$:[142]
  450. 4825 T1[178]T1[170]MQ:T2[178]T2[170]MA:T3[178]T3[170]YQ:T4[178]T4[170]YA
  451. 4830 [139] H6[178]0[167]4160
  452. 4840 [137]4130
  453. 10000 HH$[178]"YOUR NAME HERE ":U$[178]"SHELF":U[178]150:U2[178]0
  454. 10010 [134]C$(U[170]1)
  455. 10012 BL$[178]"              "
  456. 10013 BL$[178]BL$[170]BL$[170]BL$[170]BL$[170]BL$
  457. 10015 BS$[178]"             ":BS$[178]BS$[170]BS$[170]BS$
  458. 10020 [141]13
  459. 10025 [139]U2[178]1[167]10060
  460. 10030 R[178]9:[141]40:[153]"     CREATE A NEW FILE  (Y OR N) ?"
  461. 10040 C[178]37:LN%[178]1:[141]100:[139]DA$[178]"Y"           [167] RC[178]1:[137]10400
  462. 10050 [139]DA$[179][177]"N"[167]10040
  463. 10060 [141]11000:[137]1000
  464. 10070 [159]8,8,8,"0:POST/SALES,S,R":[141]7
  465. 10080 RC[178][197]([200](ZL$,3))
  466. 10090 YR$[178][202](ZL$,4,2)
  467. 10100 MO$[178][202](ZL$,6,2)
  468. 10110 [129]I[178]1[164]RC:[141]7:C$(I)[178]ZL$:[130]:[160]8:[137]1000
  469. 10200 [143]
  470. 10400 [143] CREATE DUMMY
  471. 10410 C$(1)[178]"ZZZZZZZZZZZZZZZZZZZZZ "
  472. 10440 C$(1)[178]C$(1)[170]"0000"[170]BL$
  473. 10450 [137]1000
  474. 11000 [143] STRING THING
  475. 11005 Q$[178]"POST/SALES,S,R"
  476. 11010 [129]J[178]896[164]933:[135]X:[151]J,X:[130]J
  477. 11020 [159]1,8,3,"0:"[170]Q$:[158]896:RC[178][197]([200](A$,3))
  478. 11025 YR$[178][202](A$,4,2):MO$[178][202](A$,6,2)
  479. 11030 [129]J[178]1[164]RC:[158]896:C$(J)[178][200](A$,96):[130]J:[160]1:[142]
  480. 12000 C9[178]C:C[178]0:[129]R[178]4[164]9:[141]40:[153][200](BL$,39):[130]:C[178]C9:[142]
  481. 19999 [128]
  482.